package com.infore.common.model.entity.exchange;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.infore.common.base.BaseModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 数据交换
 * </p>
 *
 * @author lijh
 * @since 2023-02-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_ex_transform_info")
public class TTransformInfo extends BaseModel<TTransformInfo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "transform_id", type = IdType.UUID)
    private String transformId;
    /**
     * 交换名称
     */
    @ApiModelProperty(value = "交换名称")
    @TableField("transform_name")
    private String transformName;
    /**
     * 交换类型，表到表同步_tableToTable,接口到表_httpToTable
     */
    @TableField("transform_type")
    private String transformType;
    /**
     * 数据来源，对应表t_ex_source_data_info
     */
    @TableField("source_id")
    private String sourceId;
    /**
     * 数据去向，对应表t_ex_target_data_info
     */
    @TableField("target_id")
    private String targetId;
    /**
     * 数据映射关系
     */
    @TableField("mapping_relation")
    private String mappingRelation;
    /**
     * 创建人id
     */
    @TableField("create_userId")
    private String createUserId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    private Date createTime;
    /**
     * 修改人id
     */
    @TableField("update_userId")
    private String updateUserId;
    /**
     * 修改时间
     */
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    private Date updateTime;
    /**
     * 状态
     */
    private Integer state;
    /**
     * 是否忽略错误 1忽略， 0 不忽略
     */
    @TableField("gnore_error")
    private Integer gnoreError;
    /**
     * 保存还是修改 1保存，2修改
     */
    @TableField("save_or_update")
    private Integer saveOrUpdate;
    /**
     * 描述
     */
    private String description;


    @Override
    protected Serializable pkVal() {
        return this.transformId;
    }

}
